package cn.dada.dadarecipes.backend.merchant.service;

import cn.dada.dadarecipes.backend.merchant.pojo.vo.MerchantInfoVo;
import cn.dada.dadarecipes.backend.merchant.pojo.vo.MerchantShopVO;
import cn.dada.dadarecipes.mall.product.pojo.dto.ProductAddParam;
import cn.dada.dadarecipes.mall.product.pojo.dto.ProductEditParam;
import cn.dada.dadarecipes.mall.product.pojo.dto.ProductSelectParam;
import cn.dada.dadarecipes.mall.product.pojo.vo.ProductMerchantVO;
import cn.dada.dadarecipes.mall.shop.pojo.dto.ShopAddParam;
import cn.dada.dadarecipes.mall.shop.pojo.dto.ShopEditParam;
import cn.dada.dadarecipes.mall.shop.pojo.dto.ShopSelectParam;
import cn.dada.dadarecipes.user.order.pojo.dto.MerchantOrderUpdateParam;
import cn.dada.dadarecipes.user.order.pojo.vo.OrderVO;

import javax.servlet.http.HttpSession;
import java.util.List;

public interface MerchantService {
    MerchantInfoVo merchantLogin(String username, String password, HttpSession session);

    void merchantLogout(Long businessId, HttpSession session);

    void addShop(ShopAddParam shopAddParam, HttpSession session);

    List<MerchantShopVO> selectShop(ShopSelectParam shopSelectParam, HttpSession session);

    void editShop(ShopEditParam shopEditParam, HttpSession session);

    void dropShop(Long id, Long businessId, HttpSession session);

    void addProduct(ProductAddParam productAddParam, HttpSession session);

    List<ProductMerchantVO> selectProduct(ProductSelectParam productSelectParam, HttpSession session);

    void editProduct(ProductEditParam productEditParam, HttpSession session);

    void dropProduct(Long id, Long businessId, HttpSession session);

    List<OrderVO> selectOrder(Long businessId, Long shopId, HttpSession session);

    void updateOrder(MerchantOrderUpdateParam param, HttpSession session);
}
